package com.cnfangmao.masterdata.service;

import java.util.List;
import java.util.Map;

/**    
 * @description: 定义临时存储区主数据管理器      
 * @author:	chenxc   
 * @date:   2020年4月22日 上午11:49:17   
 */
public interface StageMasterDataManagerService extends MasterDataManagerService{
	/**
	 * @description: 新增一条主数据实例 
	 * @author: chenxc
	 * @date: 2020年4月22日 上午11:32:34
	 * @param metadataId
	 * @param userId
	 * @param saveData
	 * @return      
	 * boolean      
	 * @throws Exception
	 */
	public boolean insert(String metadataId, String userId, Map<String, Object> saveData) throws Exception ;
	
	/**
	 * @description: 按条件更新主数据 
	 * @author: chenxc
	 * @date: 2020年4月22日 上午11:36:14
	 * @param metadataId
	 * @param userId
	 * @param saveData
	 * @param filterColumnMap
	 * @return      
	 * boolean      
	 * @throws
	 */
	public boolean update(String metadataId, String userId, Map<String, Object> saveData, Map<String, Object> filterColumnMap);

	/**
	 * @description: 按条件删除主数据
	 * @author: chenxc
	 * @date: 2020年4月22日 上午11:37:33
	 * @param metadataId
	 * @param userId
	 * @param filterColumnMap
	 * @return      
	 * boolean      
	 * @throws
	 */
	public boolean delete(String metadataId, String userId, Map<String, Object> filterColumnMap);
	
	/**
	 * @description: 取消合并 
	 * @author: chenxc
	 * @date: 2020年4月22日 上午11:44:42
	 * @param: @param metadataId
	 * @param: @param userId
	 * @param: @param lstMergeId
	 * @param: @return      
	 * @return: boolean      
	 * @throws
	 */
	public boolean unMerge(String metadataId, String userId, List<String> lstMergeId);
	
	/**
	 * @description: 发布主数据 
	 * @author: chenxc
	 * @date: 2020年4月22日 上午11:58:32
	 * @param: @param metadataId
	 * @param: @param userId
	 * @param: @param lstMasterDataId
	 * @param: @return      
	 * @return: boolean      
	 * @throws
	 */
	public boolean publish(String metadataId, String userId, List<String> lstMasterDataId);
}
